This invention relates to an image signal coding/decoding system, and more particularly to an efficient coding system applied to a recording/transmission/display device for carrying, out the processing of an image signal to digitize an image signal by less quantity of data, especially to an image signal coding/decoding system using the adaptive quantization.
Generally, in the efficient coding for an image signal, there is known an adaptive quantization in which an image signal is divided into block units to vary the step width for quantization at every block unit, in accordance with degree of the change of a signal of several blocks (hereinafter referred to as activity). It is generally well-known that a quantization error is difficult to be detected visually by human beings in the portion where the change of a signal is large, and easy to be detected in the portion where the change of a signal is little. Therefore, the step for quantization becomes broad (coarse) in the block having high activity (large change of signal), and the step for quantization becomes narrow (fine) in the block having low activity (little change of signal), thereby performing an adaptive quantization.
In the coding technique using the orthogonal transformation, an image frame is generally transformed by the block of "8.times.8" pixels, for example, and the coefficients generated by the transformation are quantized by the same pixel unit.
Since such an adaptive quantization requires transmission of information for adaptive processing to the decoder side, if there are many kinds of the adaptive processing by the activity, a large quantity of information would have to be transmitted.
In view of this, an approach is typically employed to set the kinds of the adaptive processing to approximately four. A quantization class mentioned here refers to a value at an intermediate stage where the quantization step is determined from the activity.
FIG. 1 is a block diagram showing the system configuration of a conventional image signal encoder. In FIG. 1, an image signal input from the image input terminal 1 is delivered to an orthogonal transformer 2.
The orthogonal transformer 2 carries out orthogonal transformation of an input signal by the technique such as the discrete cosine transformation (DCT), etc., for every block of "8.times.8" pixels. From the orthogonal transformer 2, two kinds of transformation coefficients are output. One is the DC coefficient indicating a mean value of blocks, and the other is the AC coefficient indicating the manner of changes. These coefficients are delivered to an adaptive quantizer 3.
The adaptive quantizer 3 quantizes respective coefficients that are orthogonally transformed, in accordance with the method which will be described later, by the step width where respective coefficients are set to deliver the quantized information to a variable-length encoder 4. To speak generally, the adaptive quantization is such a quantization system to vary the quantization method in dependency upon the property of an image. In this example, the step width for quantization is changed by the result after the block activity is obtained by the method which will be described later on the basis of the orthogonal transform coefficient.
The variable-length encoder 4 carries out variable-length coding of the quantized transform coefficients, thereby supporting them to the decoder through the data output terminal 5. In this case, since the AC coefficient concentrate on the value in the vicinity of "0", by setting variable-length code of the AC coefficient so that the code length of "0" is the shortest, and that the code length becomes large according as the absolute value becomes large, the quantity of data quantity can be reduced.
On the other hand, the transform coefficients which are generated by the orthogonal transformer 2 are also delivered to an activity detector 6. The activity detector 6 determines the sum of the absolute values of AC coefficients of respective blocks to deliver the determined result to a quantization class determination element (determinator) 7 as an activity value A for every block.
The quantization class determinator 7 determines a class value C for quantization based on the activity value A. This class value C is an index for determining an actual step width of the quantization, and the value C consists of, in the example as shown in FIG. 2, four kinds of values of 0, 1, 2, and 3, and is incremented by one every time the activity value A doubles. While there results a more preferable characteristic as the number of classes increases, more classes require more information to be transmitted, while it is impossible to increase the number of classes beyond a certain unit.
Information outputted from the quantization class determinator 7 is transmitted to the decoder side through the class information output terminal 8, and is also delivered to the adaptive quantizer 3.
The manner of the adaptive quantization will now be described with reference to the waveform diagrams of FIGS. 3(a), 3(b) and 3(c). FIG. 3(a) shows a signal waveform before transformation, FIG. 3(b) shows an activity value A, and FIG. 3(c) shows a quantization step width Sq.
The signal waveform of an image signal before transformation shown in FIG. 3(a) specifically shows the portion in the vicinity of the boundary portion between the flat portion where there is no change to much extent and the portion where there are changes. Since the activity value A is small at the flat portion and is large at the changing portion, the activity value A becomes large at the boundary block as shown in FIG. 3(b). Since the adaptive quantization is carried out as it is as in the conventional system, as shown in FIG. 3(c), the quantization step width Sq varies a great extent between blocks.
In the encoded signals by the orthogonal transform, a quantization error is diffused into the signals in the block when image data are inversely transformed at the decoder. Accordingly, a quantization error of the edge portion will extend up to the periphery of the edge portion in the block including the edge portion of an image. This phenomenon is called a mosquito noise. By this noise, the picture quality would be deteriorated visually.
Furthermore, when the adaptive quantization is carried out, since the block having the above-mentioned edge portion has a high activity, the quantization becomes coarse, resulting in an increase in the quantization noise, i.e., the mosquito noise is increased. In this case, as the block for the adaptive quantization becomes small, more appropriate processing is carried out. However, since information of the quantization class is required to be transmitted every block, if the block becomes small to a great degree, a quantity of data therefor is increased, resulting in the inconvenience that transmission is not properly conducted. A further problem is that the number of the quantization class cannot be increased to a great degree for the same reason that the number of blocks cannot be substantially decrease. Accordingly, in the conventional transform encoder, it was considered that the adaptive quantization is difficult to be applied.
In addition, if an attempt is made to carry out the adaptive quantization so that it is adapted to the visual characteristic, class information for the adaptive quantization would be increased, resulting in the problem that a quantity of codes generated cannot be necessarily reduced as a whole.